<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    this总结
    1.全局  this---》window     严格 this---》window
    2.普通函数执行 函数名()  this---》window     严格 this---》undefined
    3.自执行函数  this---》window     严格 this---》undefined
    4.回调函数（一个函数是另一个函数的参数）this---》window     严格 this---》undefined
    5.回调函数 特殊 setInterval setTimeout  this---》window   严格 this---》window
    6.DOM事件执行  this---》绑定事件的DOM元素  严格 this---》绑定事件的DOM元素
    7.函数执行，前面有点   点前面是谁this就是谁
    8.箭头函数没有this,  this指向上级上下文中的this
    9. call,apply, bind 可以修改this
    10.构造函数中this---实例对象

    <button id="btn">点击</button>
    <script>
          let obj={
            name:"lili",
            age:19,
            show:()=>{//私有函数执行上下文---》全局执行上下文
                console.log(this);
            }
          }

          obj.show()

        //  "use strict";
        //   let obj={
        //     name:"lili",
        //     age:19,
        //     show:function(){
        //         console.log(this);
        //     }
        //   }

        //   obj.show()

        //   Array.prototype.push()//this---Array.prototype

   

        // "use strict";
        // btn.onclick=function(){
        //     console.log(this);
        // }

        // "use strict";
        //console.log(this);

        // function show(){
        //     console.log(this)
        // }
        // show()

        // (function(){
        //     console.log(this);
        // })()


        // let arr=[1,2,3];
        // arr.map(function(){
        //     console.log(this);
        // })

        // "use strict";
        // setInterval(function(){
        //     console.log(this);
        // },1000)
    </script>
</body>
</html>